import Vue from 'vue'
import App from './App.vue'
/**
 * 引入公共样式
 */
import "normalize.css/normalize.css";
import "@/styles/index.less";
/**
 * 引入router
 */
import router from "./permission";
/**
 * 引入store
 */
import store from "./store";

/**
 * 引入ElementUI
 */
import ElementUI from "element-ui";
import "element-ui/lib/theme-chalk/index.css";
Vue.use(ElementUI, { size: "medium" });//medium

/**
 * 引入mixins
 */
import mixins from "@/mixins";
Vue.use(mixins);

/**
 * 引入高德地图
 */
import AMap from 'vue-amap';
Vue.use(AMap);
// 初始化vue-amap
AMap.initAMapApiLoader({
  // 高德key
  key: '4a36cbeb078b2038113b023a04671569',
  // 插件集合 （插件按需引入）
  plugin: ['AMap.Geolocation', 'AMap.Geocoder', 'AMap.Circle', 'AMap.PlaceSearch'],
  v: '1.4.15'
});

/**
 * 引入简易表格模式
 */
import appSimple from "@/components/index";
Vue.use(appSimple);

Vue.config.productionTip = false


/**
 * o1 生成新对象
 * o2 目标对象
 * o3 负值对象
 */
Object.structure = function (o1, o2, o3) {
  Object.keys(o2).forEach((ele) => {
    if (o3[ele] || o3[ele] === 0) {
      o1[ele] = o3[ele];
    } else {
      o1[ele] = o2[ele];
    }
  });
  return o1;
};

/**
 * 比较2个对象的属性值是否一致
 * 注意： 2对象的属性本身是基础类型，不包含数组、对象、或其他类型
 *
 */
Object.contrastObj = function (o1, o2) {
  for (let e in o1) {
    if (o2[e] == undefined) {
      return false;
    } else {
      if (o1[e] != o2[e]) {
        return false;
      }
    }
  }
  return true;
};
import "@/utils"
new Vue({
  render: h => h(App),
  router,
  store
}).$mount('#app')
